/*
给定一个非负整数数组，统计里面每一个数的出现次数。我们只统计到数组里最大的数。
假设 Fmax（Fmax≤100000）是数组里最大的数，那么我们只统计 {0,1,2…Fmax} 里每个数出现的次数。

输入格式
第一行 n 是数组的大小。1≤n≤100000。
紧接着一行是数组的 n个元素。

输出格式
按顺序输出每个数的出现次数，一行一个数。如果没有出现过，则输出 0。
对于例子中的数组，最大的数是 3，因此我们只统计 {0,1,2,3} 的出现频数。

输入输出样例：
输入：
5
1 1 2 3 1

输出：
0
3
1
1
*/
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n, max;
    cin >> n;
    int a[n], f[100000];
    memset(f, 0, sizeof(f)); // 初始化数量数组为0
    max = 0;
    for (int i = 0; i < n; i++)
    {
        cin >> a[i]; //输入n个元素
        if (a[i] > max)
        {
            max = a[i]; //关系所有元素中的最大值
        }
        f[a[i]]++; //对应数量值+1
    }
    for (int j = 0; j <= max; j++)
    {
        cout << f[j] << endl;
    }
    return 0;
}